package org.eztouch.sys.service;

import java.util.List;

import org.eztouch.common.util.DataUtil;
import org.eztouch.sys.biz.SysMenuBiz;
import org.eztouch.sys.biz.SysRoleMenuBiz;
import org.eztouch.sys.entity.SysMenu;
import org.eztouch.sys.facade.SysMenuService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

/**
 * 系统菜单服务提供者:
 * 	POST来实现“增改”，GET来实现“删查”
 */
@RestController
public class SysMenuServiceImpl implements SysMenuService{
	private static final Logger log = LoggerFactory.getLogger(SysMenuServiceImpl.class);
	@Autowired
	private SysMenuBiz sysMenuBiz;
	@Autowired
	private SysRoleMenuBiz sysRoleMenuBiz;
	
	@Override
	public SysMenu insert(SysMenu sysMenu) {
		log.debug("插入到数据库之前的对象："+sysMenu);
		sysMenuBiz.insert(sysMenu);
		log.debug("插入到数据库之后的对象："+sysMenu);
		return sysMenu;
	}
	@Override
	public boolean deleteById(String id) {
		log.debug("接收到的参数："+id);
		return sysMenuBiz.deleteById(id);
	}
	@Override
	public boolean flagDeleteById(String id) {
		log.debug("接收到的参数："+id);
		SysMenu entity = sysMenuBiz.selectById(id);
		if(DataUtil.isNotEmpty(entity)){
			entity.setIsDelete(1);
			return sysMenuBiz.updateById(entity);
		}
		log.debug("id="+id+" 对应的记录不存在，无法执行逻辑删除操作！");
		return false;
	}
	@Override
	public SysMenu updateById(SysMenu sysMenu) {
		log.debug("更新到数据库之前的对象："+sysMenu);
		sysMenuBiz.updateById(sysMenu);
		log.debug("更新到数据库之后的对象："+sysMenu);
		return sysMenu;
	}
	@Override
	public SysMenu selectById(String id) {
		log.debug("接收到的参数："+id);
		return sysMenuBiz.selectById(id);
	}
	@Override
	public List listByRoleIds(String roleIds) {
		log.debug("接收到的参数："+roleIds);
		List<SysMenu> list = sysMenuBiz.listByRoleIds(roleIds);
		
		return list;
	}
}
